<%-- 
    Document   : newjsp
    Created on : 21-ago-2014, 16:04:15
    Author     : equipo_4
--%>

<%@page import="RRHH_Modelo.RHH_REGIONAL"%>
<%@page import="RRHH_Modelo.RHH_DEPARTAMENTO"%>
<%@page import="Modelo.SIS_ACCEDIDOS"%>
<%@page import="CONTABILIDAD_MODELO.CON_AJUSTES"%>
<%@page import="CONTABILIDAD_MODELO.CON_MONEDA"%>
<%@page import="java.util.List"%>
<%@page import="RRHH_Modelo.RHH_USUARIO"%>
<%@page import="Conexion.Conexion"%>
<%@page import="CONTABILIDAD_MODELO.CON_CUENTA_CONTABLE"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
     <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>BROKER</title>
        <link href="../css/NuevoStilo.css" rel="stylesheet" type="text/css"/>
        <script src="../login/js/jquery-1.8.2.min.js" type="text/javascript"></script>
        <script src="../js/jquery-ui.js" type="text/javascript"></script>
        <script src="../js/jquery.ui.touch-punch.js" type="text/javascript"></script>
    </head>
    <body>
        <div id="CuerpoFormulario">
            <h1 id="tituloFormulario">PLAN DE CUENTAS</h1>
                <div id="tabs" class="contenedor50 altoGrande">
                     <ul>
                        <li><a>CUENTAS</a></li>
                        <li><a>CENTRO DE COSTO</a></li>
                    </ul>
                    <div style="border: solid thin; height: 93%; overflow: hidden;">
                        <div class="BusquedaTab" data-abierto='0'>
                            <input type="input" style='width:72%; border:none;' name="busqueda" placeholder="Busqueda"/><a name="busqueda" onclick="busquedaRapida()"><img src="../img/iconos/Search.png" alt=""/></a>
                        </div>
                        <div class="contenidoTab"></div>
                        <div class="contenidoTab" style="background: red;"></div>
                    </div>
                    
                </div>
                <input type="hidden" name="IdSubMenu" />
                <div class="contenedor50 altoGrande" style="margin-top: -15px;">
                    <div class="altonormal" >
                        <div id="mismonivel" class="contenedor alinearIzquierda" style="width: 65%; height: 100%;"></div>
                        <div class="contenedor alinearIzquierda" style="width: 21%; height: 100%;">
                            <button class="centrado" onclick="accionCuenta(0)">CREAR</button><br>
                            <button class="centrado" onclick="accionCuenta(1)">MODIFICAR</button><br>
                            <button class="centrado" onclick="accionCuenta(2)">ELIMINAR</button><br>
                        </div>
                    </div>
                    <div class="altonormal">
                        <div id="hijos"  class="contenedor alinearIzquierda" style="height: 100%; width: 40%; overflow-y: auto;">
                            
                        </div>
                        <div id="recorrido" class="contenedor alinearIzquierda" style="height: 100%; width: 46%; overflow-y: auto;"></div>
                    </div>
                </div>
        </div>
        <div id="popUpbackGround"></div>
        <div id="popUpContent" class="Extragrande">
            <input type="hidden" id="idPadre">
            <h1 id="titulo" class="negrilla">Crear Cuenta</h1>
            <span class="negrillaenter">Codigo</span>
            <input type="text" name="codigopadre" style="width: 135px" disabled="disable" value="" />-
            <input type="text" name="codigo" value="" class="pequeño" /><br>
            <span class="negrillaenter">Descripcion</span>
            <input type="text" name="descripcion" value="" /><br>
            <select name="moneda">
                <%
                    RHH_USUARIO usuario = ((RHH_USUARIO)request.getSession().getAttribute("usr")); 
                    Conexion con = new Conexion(usuario.getUSUARIO(), usuario.getPASSWORD());
                    CON_MONEDA moneda = new CON_MONEDA();
                    moneda.setCon(con);
                    List<CON_MONEDA> monedas = moneda.Todos();
                    for(int i =0; i<monedas.size(); i++)
                    {
                        out.print("<option value='"+monedas.get(i).getID()+"'>"+monedas.get(i).getACRONIMO()+"</option>");
                    }
                %>
            </select>
            <div id="tipoc" >
                <span class="negrillaenter">Tipo de Cuenta</span>
                <input type="checkbox" id="tipoCuentac"><span id="label" value="2">Retencion</span>
                <input type="checkbox" id="ajuste"><span id="label" value="1">Ajuste</span>
            </div>
            <input type="text" style="display: none" name="retencion" value="" placeholder="Retenido"/>
            <span class="negrilla" style="display: none" name="retencionPorcentaje">%</span>
            <select id="ajusteSelect" style="display: none">
                <%
                    CON_AJUSTES ajuste= new CON_AJUSTES();
                    ajuste.setCon(con);
                    List<CON_AJUSTES> list=ajuste.Todos();
                    for(int i=0;i<list.size();i++){
                        out.print("<option value='"+list.get(i).getID()+"'>"+list.get(i).getDESCRIPCION()+"</option>");
                    }
                %>
            </select>
            <span class="negrillaenter" id="tipocuental" >Tipo</span>
                <select id="tipoCuenta" onchange="cambioCentrocosto()">
                    
                </select>
                 <span class="negrillaenter" id="regionalLabel" style="display: none">Regionales</span>
                 <select name="regional" style="display: none">
                     <%
                        RHH_REGIONAL reg = new RHH_REGIONAL(con);
                        reg.setCon(con);
                        List<RHH_REGIONAL> lista_reg = reg.Todos();
                        for(int i =0; i<lista_reg.size();i++)
                        {
                            out.print("<option value='"+lista_reg.get(i).getID()+"'>"+lista_reg.get(i).getDESCRIPCION()+"</option>");
                        }
                     %>
                 </select>
                 <span class="negrillaenter" id="sucursalLabel" style="display: none">Sucursales</span>
                 <select name="sucursal" style="display: none">
                   
                 </select>
                 <span class="negrillaenter" id="departamentalLabel" style="display: none">Departamental</span>
                 <select name="departamental" style="display: none">
                     <%
                        RHH_DEPARTAMENTO depto = new RHH_DEPARTAMENTO(con);
                        depto.setCon(con);
                        List<RHH_DEPARTAMENTO> lista_depto = depto.Todos();
                        for(int i =0; i<lista_depto.size();i++)
                        {
                            out.print("<option value='"+lista_depto.get(i).getID()+"'>"+lista_depto.get(i).getDESCRIPCION()+"</option>");
                        }
                     %>
                 </select>
                 <span class="negrillaenter" id="nacionalLabel" style="display: none">Nacional</span>
                 <div id="nacional" style="display: none">
                     <ul id="nacionalLista">
                         <%
                            for(int i =0; i<lista_reg.size();i++)
                            {
                                out.print("<li><span class='negrilla'>"+lista_reg.get(i).getDESCRIPCION()+"</span><input type='text' class='pequeño alinearDerecha' data-idNacional='"+lista_reg.get(i).getID()+"' value='' /></li>");
                            }
                         %>
                     </ul>
                     <span id="totalNacional"></span>
                 </div>
                 <span class="negrillaenter" id="sucursalCLabel" style="display: none">Nacional</span>
                 <div id="sucursualC" style="display: none">
                     <ul id="sucursalCLista">
                     </ul>
                     <span id="totalNacional"></span>
                 </div>
            <input type="button" onclick="GuardarNuevo()" value="Guardar" id="GuardarModificar" class="chico"/>
            <input type="button" value="Cancelar" onclick="cancelPopUp()" id="Cancelar" class="chico"/>
        </div>
        <div id="popUpCarga" style="margin:90px auto; "class="Extragrande popup"><img style="top:-270px; " src="../img/iconos/ajax-loader.gif" alt=""/> <span style="top:-240px;" class="negrilla" id="msnCargar">Cargando las cuentas espere por favor</span></div>
        <footer >
            <a href="#" id="Atras"><img class="circulo" src="../img/iconos/Atras.png" /><br/>
                CREAR COMPROBANTE
            </a>
        </footer>
    <script type="text/javascript">
        var nombreNivel=[];
        var url="../CON_CUENTA_CONTABLE_CONTROLLER";
        $(document).ready(function(){
            $("#popUpCarga").css({
                left: ($(window).width() - $('#popUpCarga').outerWidth())/2,
                top: (($(window).height() -  $('#popUpCarga').outerHeight())/2)-20
            });
            $("#tabs .contenidoTab:first").css("display","block");
            $("#tabs  > ul li:first").css({
                height:"17px",
                margin:"0 0 -5px 0",
            });
            $("#tabs").data("seleccionado","0");
            $("#tabs .contenidoTab:eq(0)").html(cargarsubmenu("null"));
            versionamiento();

        });
        $("input[name=codigo]").keydown(function(e){
           if(e.keyCode==109){
               e.preventDefault();
               return false;
           } 
        });
            function cargarNiveles(){
                $.post(url,{proceso:"niveles"},function(responsetext){
                    nombreNivel=$.parseJSON(responsetext);
                });
            }
            function accionCuenta(tipo){                
                var text1=$("#tabs").data("seleccionado")==0?"cuenta":"centro de costo";
                var tipoTab=$("#tabs").data("seleccionado");
                var text=tipo==0?"NUEVO":"MODIFICACION DE";
                 var item=buscarCuenta(idSeleccionardo,elementoSeleccionado.data("tipo"));
                if(tipoTab==0){
                    var tieneCC=false;
                    $.each(ListaCentroCosto,function(i,item){
                        if(idSeleccionardo==parseInt(item.IDCUENTA)){
                            tieneCC=true;
                            return false;
                        }
                    });
                    if(tieneCC){
                        alert("Esta cuenta tiene centro de costo");
                        return;
                    }
                    $("#titulo").text(text+" CUENTA");
                    $("select[name=moneda]").css("display","block");
                    $("#tipoc").css("display","block");
                    $("#tipocuental").css("display","none");
                    $("#tipoCuenta").css("display","none");
                }else{
                    if(item.tipo=="cuenta"){
                        if(buscarCuentaHijo(idSeleccionardo)){
                            alert("Revise dependencia solo a cuentas hojas se le puede agregar Centro de costo")
                            return;
                        }
                    }
                    $("#titulo").text(text+" CENTRO DE COSTO");
                    $("select[name=moneda]").css("display","none");
                    $("#tipoc").css("display","none");
                    $("#tipocuental").css("display","block");
                    $("#tipoCuenta").css("display","block");
                }
                
                if(idSeleccionardo==0){
                    alert("Seleccionar Alguna "+text1);
                    return ;
                }
                if(tipo==0){
                    addNuevo(idSeleccionardo);
                }
                if(tipo==1){
                    if(elementoSeleccionado.data("tipo")=="cuenta"){
                        modificarC(idSeleccionardo);
                    }
                    else{
                        modificarCC(idSeleccionardo);

                    }
                   
                }
                if(tipo==2){
                        if(tipoTab==1){
                            eliminarCC();
                        }else{
                            eliminarC();
                        }
                   
                }
            }
            function cambioCentrocosto(){
                var tipo = $("#tipoCuenta").find("option:selected").val();
                $("#departamentalLabel").css("display","none");
                $("select[name=departamental]").css("display","none");
                $("#regionalLabel").css("display","none");
                $("select[name=regional]").css("display","none");
                $("#nacionalLabel").css("display","none");
                $("#nacional").css("display","none");
                $("#sucursalLabel").css("display","none");
                $("select[name=sucursal]").css("display","none");
                $("#sucursalCLabel").css("display","none");
                $("#sucursualC").css("display","none");
                if(tipo=="4"){
                    $("#departamentalLabel").css("display","block");
                    $("select[name=departamental]").css("display","block");
                }
                if(tipo=="3"){
                    $("#regionalLabel").css("display","block");
                    $("select[name=regional]").css("display","block");
                }
                if(tipo=="2"){
                    $("#nacionalLabel").css("display","block");
                    $("#nacional").css("display","block");
                }
                if(tipo=="5"){
                    $("#sucursalLabel").css("display","block");
                    $("select[name=sucursal]").css("display","block");

                }
                if(tipo=="6"){
                    $("#sucursalCLabel").css("display","block");
                    $("#sucursualC").css("display","block");
                }

            }
            function buscarNivel(id){
                var res="";
                $.each(nombreNivel,function(i,item){
                    if(id==parseInt(item.id)){
                        res=item.desc;
                        return false;
                    }
                });
                return res;
            }
            function eliminarCC(){
                $.post("../CON_CUENTA_CONTABLE_CONTROLLER",{proceso:"eliminarCC",eliminar:idSeleccionardo},function(responsetext){
                    if("T" == responsetext){
                        elementoSeleccionado.parent().remove();
                        delete ListaCentroCosto["cc"+parseInt(idSeleccionardo)];
                        localStorage["CentroCosto"] = JSON.stringify(ListaCentroCosto);
                        var v=parseInt(localStorage['versionCentroCosto']);
                        localStorage['versionCentroCosto']=v+1;
                    }
                    else{
                        alert("Nose pudo eliminar, verificar dependencia");
                    }
                 });
            }
            function eliminarC(){
                var item=buscarCuenta(idSeleccionardo,"cuenta");
                var nr=0
                if(item.NIVEL!="null"){
                    ispadre=$("span[data-id='c"+parseInt(item.NIVEL)+"']").parent().find("li").length;
                    nr=ispadre==1?item.NIVEL:0;
                }
                $.post("../CON_CUENTA_CONTABLE_CONTROLLER",{proceso:"eliminar",padre:nr,eliminar:idSeleccionardo},function(responsetext){
                    if("T" == responsetext){
                        elementoSeleccionado.parent().remove(); 
                        delete ListaCuentaContable["c"+parseInt(idSeleccionardo)];
                        localStorage["CuentaContable"] = JSON.stringify(ListaCuentaContable);
                        var v=parseInt(localStorage['versionCuenta']);
                        localStorage['versionCuenta']=v+1;
                    }
                    else
                        alert("Nose pudo eliminar, verificar dependencia");
                });
            }
            function limpiarPopUp(){
                $('input[name=descripcion]').val("");
                $('input[name=codigo]').val("");
                $("input[name=codigopadre]").css("display","none");
                $("input[name=codigopadre]").val("");
                $("input[name=retencion]").css("display","none");
                $("input[name=retencion]").val("");
                $("span[name=retencionPorcentaje]").css("display","none");
                $("#ajusteSelect").css("display","none");
                $("#ajusteSelect option:eq(0)").select();
                $("#tipoCuentac").removeAttr("checked");
                $("#ajuste").removeAttr("checked");
                $("#GuardarModificar").val("Guardar");
                $("input[name=codigo]").removeAttr("disabled");
                $("input[name=codigo]").removeClass("mediano"); 
                $("input[name=codigo]").addClass("pequeño"); 
                $("#departamentalLabel").css("display","none");
                $("select[name=departamental]").css("display","none");
                $("#regionalLabel").css("display","none");
                $("select[name=regional]").css("display","none");
                $("#nacionalLabel").css("display","none");
                $("#nacional").css("display","none");
                $("#sucursalLabel").css("display","none");
                $("select[name=sucursal]").css("display","none");
                $("#sucursalCLabel").css("display","none");
                $("#sucursualC").css("display","none");
                $("input[name=moneda]").css("display","none");
                $("#tipoc").css("display","none");
                $("#tipoCuenta").removeAttr("disabled");
            }
            function cargarsubmenu(id,tipo2){
                var tipo=$("#tabs").data("seleccionado");
                var html="<ul class='tab'>";
                if(tipo==0){
                    $.each(ListaCuentaContable,function(i,item){
                        if(id==item.NIVEL){
                            html+="<li><span data-id='c"+parseInt(item.id)+"' data-tipo='cuenta' onclick=\"abrirSubmenu(this,'"+item.id+"')\">"+item.CODIGO+" "+item.DESCRIPCION+"</span></li>";
                        }
                    });
                }else{
                    var algo = false;
                    $.each(ListaCentroCosto,function(i,item){
                        if(id!="null" && ("null"==item.NIVEL && id==parseInt(item.IDCUENTA))){
                            html+="<li><span data-id='cc"+parseInt(item.id)+"' data-tipo='cc' onclick=\"abrirSubmenu(this,'"+item.id+"')\">"+item.CODIGO+" "+item.DESCRIPCION+"</span></li>";
                            algo=true;
                        }
                        if( id!="null" && (id==parseInt(item.NIVEL)) && tipo2!= "cuenta" ){
                            html+="<li><span data-id='cc"+parseInt(item.id)+"' data-tipo='cc' onclick=\"abrirSubmenu(this,'"+item.id+"')\">"+item.CODIGO+" "+item.DESCRIPCION+"</span></li>";
                            algo=true;
                        }                        
                    });
                    if(algo==false)
                    {
                        $.each(ListaCuentaContable,function(i,item){
                            if(id==item.NIVEL && tipo2=="cuenta"){
                                html+="<li><span data-id='c"+parseInt(item.id)+"' data-tipo='cuenta' onclick=\"abrirSubmenu(this,'"+item.id+"')\">"+item.CODIGO+" "+item.DESCRIPCION+"</span></li>";
                            }
                        });
                    }
                }
                html+="</ul>";
                return html;
            }
            var listaEncontrados=[];
            function busquedaRapida(){
                var text=$("input[name=busqueda]").val();
                var tipo=$("#tabs").data("seleccionado");
                
                if(tipo==0){
                    $.each(ListaCuentaContable,function(i,item){
                        var cod=item.CODIGO.replace(/\-/g, '');
                        if(item.DESCRIPCION.toUpperCase().indexOf(text.toUpperCase())>=0 || item.CODIGO.indexOf(text)>=0 || cod==text){
                            listaEncontrados.push(item);
                        }
                    });
                    $("#tabs .contenidoTab:eq(0)").html(cargarsubmenu("null","cuenta"));

                }else{
                    $.each(ListaCuentaContable,function(i,item){
                        var cod=item.CODIGO.replace(/\-/g, '');
                        if(item.DESCRIPCION.toUpperCase().indexOf(text.toUpperCase())>=0 || item.CODIGO.indexOf(text)>=0 || cod==text){
                            listaEncontrados.push(item);
                        }
                    });
                    $.each(ListaCentroCosto,function(i,item){
                        var cod=item.CODIGO.replace(/\-/g, '');
                        if(item.DESCRIPCION.toUpperCase().indexOf(text.toUpperCase())>=0 || item.CODIGO.indexOf(text)>=0 || cod==text){
                            listaEncontrados.push(item);
                        }
                    });
                    $("#tabs .contenidoTab:eq(1)").html(cargarsubmenu("null","cuenta"));
                }
                $.each(listaEncontrados,function(i,item){
                    resultadoReccorrido(parseInt(item.id),"",item.tipo);
                    if(item.tipo=="cuenta"){
                        $("span[data-id=c"+item.id+"]").css("background","silver");
                    }else{
                        $("span[data-id=cc"+item.id+"]").css("background","silver");
                    }
                });
                listaEncontrados=[];
            }
            var idSeleccionardo=0;
            function buscarCuenta(id,tipo){
                var re=null;
                if(tipo=="cuenta"){
                    re=ListaCuentaContable["c"+id];
                }
                else{
                    re=ListaCentroCosto["cc"+id];
                }
                return re;
            }
            function buscarCentro(id){
                return ListaCentroCosto["cc"+id];
            }
            function buscarCuentaHijo(id){
                var re=false;
                $.each(ListaCuentaContable,function(i,item){
                    if(id==item.NIVEL){
                      re=true;
                      return true;
                    }
                });
                return re;
            }
            var elementoSeleccionado=null;
            function abrirSubmenu(elemento,id){
                idSeleccionardo=id;
                elementoSeleccionado=$(elemento);
                $(elemento).parent().find("ul").remove();
                var ul=cargarsubmenu(id,$(elemento).data("tipo"));
                $(elemento).after(ul);
                $("#hijos").html(ul);
                var item =buscarCuenta(parseInt(id),elementoSeleccionado.data("tipo"));
                $("#mismonivel").html(cargarsubmenu(item.NIVEL,item.tipo));
                if(item.tipo=='cuenta'){
                    $("#recorrido").html("<ul class='tab'>"+recorrido(item.id)+"</ul>");
                }
                if(item.NIVEL=="null"){
                    $("#mismonivel").html(cargarsubmenu(item.IDCUENTA,item.tipo));
                }
                $("span").css("background","none");
                if(item.tipo=="cuenta"){
                    $("span[data-id='c"+parseInt(id)+"']").css("background","silver");
                }else{
                    $("span[data-id='cc"+parseInt(id)+"']").css("background","silver");
                }
                
            }
            function recorrido(id){
                var tipo=$("#tabs").data("seleccionado");
                if(id=="null")return "";
                var html="";
                    $.each(ListaCuentaContable,function(i,item){
                         if(id==item.id){
                            html=recorrido(item.NIVEL)+"<li><span onclick=\"abrirSubmenu(this,'"+item.id+"')\">"+item.DESCRIPCION+"</span><span onclick=\"abrirSubmenu(this,'"+item.id+"')\"> - "+buscarNivel(item.idnivel)+"</span></li>";
                         }
                    });
                return html;
            }
           
            var padre;
            function resultadoReccorrido(id,url,cuenta){
                var tipo=$("#tabs").data("seleccionado");
                if(tipo==0){
                    var item=ListaCuentaContable["c"+id];
                    if($(".contenidoTab:eq("+tipo+") span[data-id=c"+item.id+"]").length == 0){
                        return resultadoReccorrido(item.NIVEL,"<li><span data-codigo='"+item.CODIGO+"'  data-estado='3' data-tipo='cuenta' data-id='c"+item.id+"' onclick=\"abrirSubmenu(this,'"+item.id+"')\">"+item.CODIGO+" "+item.DESCRIPCION+"</span>"+"<ul class='tab2'>"+url+"</ul>"+"</li>",item.tipo);
                    }else
                    {
                        if($(".contenidoTab:eq("+tipo+") span[data-id=c"+item.id+"]").parent().find("ul").length==0){
                            $("span[data-id=c"+item.id+"]").after("<ul class='tab'></ul>")
                        }
                        $(".contenidoTab:eq("+tipo+") span[data-id=c"+item.id+"]").next().append(url);
                        return "c";
                    }
                }
                else{
                    if(cuenta !="cuenta")
                    {
                        var item=ListaCentroCosto["cc"+id];
                        if(item.NIVEL=="null"){
                            if($(".contenidoTab:eq("+tipo+") span[data-id=cc"+item.id+"]").length == 0){
                               return resultadoReccorrido(item.IDCUENTA,"<ul class='tab'><li><span  data-estado='3' data-codigo='"+item.CODIGO+"' data-tipo='cuenta' data-id='cc"+item.id+"' onclick=\"abrirSubmenu(this,'"+item.id+"')\">"+item.CODIGO+" "+item.DESCRIPCION+"</span>"+url+"</li></ul>","cuenta");
                            }else{
                                if($(".contenidoTab:eq("+tipo+") span[data-id=cc"+item.id+"]").parent().find("ul").length==0){
                                    $(".contenidoTab:eq("+tipo+") span[data-id=cc"+item.id+"]").after("<ul class='tab'></ul>")
                                }
                                $(".contenidoTab:eq("+tipo+") span[data-id=cc"+item.id+"]").next().append(url);
                                return "cc";
                            }
                        }else{
                            if($(".contenidoTab:eq("+tipo+") span[data-id=cc"+item.id+"]").length == 0){
                               return resultadoReccorrido(item.NIVEL,"<ul class='tab'><li><span  data-estado='3' data-codigo='"+item.CODIGO+"' data-tipo='cc' data-id='cc"+item.id+"' onclick=\"abrirSubmenu(this,'"+item.id+"')\">"+item.CODIGO+" "+item.DESCRIPCION+"</span>"+url+"</li></ul>",item.tipo);
                            }else{
                                if($(".contenidoTab:eq("+tipo+") span[data-id=cc"+item.id+"]").parent().find("ul").length==0){
                                    $(".contenidoTab:eq("+tipo+") span[data-id=cc"+item.id+"]").after("<ul class='tab'></ul>")
                                }
                                $(".contenidoTab:eq("+tipo+") span[data-id=cc"+item.id+"]").next().append(url);
                                return "cc";
                            }
                        }
                    }
                    else
                    {
                        var item=ListaCuentaContable["c"+parseInt(id)];
                        if($(".contenidoTab:eq("+tipo+") span[data-id=c"+item.id+"]").length == 0){
                            return resultadoReccorrido(item.NIVEL,"<li><span data-codigo='"+item.CODIGO+"'  data-estado='3' data-tipo='cuenta' data-id='c"+item.id+"' onclick=\"abrirSubmenu(this,'"+item.id+"')\">"+item.CODIGO+" "+item.DESCRIPCION+"</span>"+"<ul class='tab2'>"+url+"</ul>"+"</li>",item.tipo);
                        }else
                        {
                            if($(".contenidoTab:eq("+tipo+") span[data-id=c"+item.id+"]").parent().find("ul").length==0){
                                $("span[data-id=c"+item.id+"]").after("<ul class='tab'></ul>")
                            }
                            $(".contenidoTab:eq("+tipo+") span[data-id=c"+item.id+"]").next().append(url);
                            return "c";
                        }
                    }
                }
            }
            $("#tabs > ul li").click(function(){
                var index = $(this).index();
                $("#tabs").data("seleccionado",index);
                if(index==0){
                    $("#tituloFormulario").text("PLAN DE CUENTAS");
                    if($("#tabs .contenidoTab:eq(0) ul").length==0)
                    $("#tabs .contenidoTab:eq(0)").html(cargarsubmenu("null"));

                }
                if(index==1){
                    $("#tituloFormulario").text("PLAN DE LOS CENTRO DE COSTOS");
                    if($("#tabs .contenidoTab:eq(1) ul").length==0)
                    $("#tabs .contenidoTab:eq(1)").html(cargarsubmenu("null","cuenta"));
                }
                $("#tabs .contenidoTab").css("display","none");
                $("#tabs .contenidoTab:eq("+index+")").css("display","block");
                
                $("#tabs  > ul li").css({
                    height:"15px",
                    margin:" 0 0 1px 0",
                });
               $(this).css({
                    height:"17px",
                    margin:"0 0 -5px 0",
                });
            });
            var ListaCuentaContable=[];
            var ListaCentroCosto=[];
            function versionamiento(){
                var versionCuenta=localStorage['versionCuenta'];
                if(typeof (versionCuenta)=="undefined")
                    versionCuenta=-1;
                var versionCentro=localStorage['versionCentroCosto'];
                if(typeof (versionCentro)=="undefined")
                    versionCentro=-1;
                $("#popUpCarga").css("display","block");
                $("#popUpbackGround").css("display","block");
                $.post(url,{proceso:"version"},function(responsetext){
                     var json=$.parseJSON(responsetext);
                     if(json.cuenta!=versionCuenta || json.centro!=versionCentro){
                         cargarCuentas(json.cuenta,json.centro,versionCuenta,versionCentro);
                     }else{
                        ListaCuentaContable = $.parseJSON(localStorage['CuentaContable']);
                        ListaCentroCosto = $.parseJSON(localStorage['CentroCosto']);
                        $("#popUpCarga").css("display","none");
                        $("#popUpbackGround").css("display","none");
                        $("#tabs .contenidoTab:eq(0)").html(cargarsubmenu("null"));
                        cargarNiveles();
                     }
                });
               
            }
            function cargarCuentas(versionCuenta,versionCentro,vcuenta,vcentro){
                ListaCuentaContable = $.parseJSON(localStorage['CuentaContable']);
                if(ListaCuentaContable==null){
                    ListaCuentaContable=[];
                }
                ListaCentroCosto = $.parseJSON(localStorage['CentroCosto']);
                if(ListaCentroCosto==null){
                    ListaCentroCosto=[];
                }
                $.post(url,{proceso:"cargarCuenta",cuenta:vcuenta,centro:vcentro},function(responsetext){
                    var json=$.parseJSON(responsetext);
                    localStorage['versionCuenta']=versionCuenta;
                    localStorage['versionCentroCosto']=versionCentro;
                    if(vcuenta==-1){
                        if(typeof(ListaCuentaContable)!="undefined")
                        ListaCuentaContable=json.cuenta;
                    }else{
                        $.each(json.cuenta, function(){
                            var item=$(this);
                            if(item.CODIGO=="na"){
                                delete ListaCuentaContable["c"+item.id];
                            }else{
                                 ListaCuentaContable["c"+parseInt(item.id)]={
                                     CODIGO:item.CODIGO,
                                     MONEDA : item.MONEDA,
                                     DESCRIPCION : item.DESCRIPCION,
                                     NIVEL :item.NIVEL,
                                     id :item.id,
                                     idnivel : item.idnivel,
                                     tipo : item.tipo
                                 }; 
                             } 
                         });
                    }
                    localStorage["CuentaContable"] = JSON.stringify(ListaCuentaContable);
                    if(vcentro==-1){
                        if(typeof(ListaCentroCosto)!="undefined")
                        ListaCentroCosto=json.centro;
                    }else{
                        $.each(json.centro, function(){
                            var item=$(this)
                            if(item.CODIGO=="na"){
                                delete ListaCentroCosto["c"+item.id];
                            }else{
                                 ListaCentroCosto["cc"+parseInt(item.id)]={
                                    CODIGO: item.CODIGO,
                                    DESCRIPCION: item.DESCRIPCION,
                                    NIVEL: item.NIVEL,
                                    id: item.id,
                                    IDCUENTA: item.IDCUENTA,
                                    tipo: item.tipo
                                };
                             } 
                         });
                    }
                    localStorage["CentroCosto"] = JSON.stringify(ListaCentroCosto);
                    $("#popUpCarga").css("display","none");
                    $("#popUpbackGround").css("display","none");
                    $("#tabs .contenidoTab:eq(0)").html(cargarsubmenu("null"));
                    cargarNiveles();
                });
            }
            function GuardarNuevo(){
                var tipoCuentas=$("#tabs").data("seleccionado");
                var codigo = $("input[name=codigopadre]").val()+"-"+$("input[name=codigo]").val();
                var desc=$("input[name=descripcion]").val();
                var item=buscarCuenta(idSeleccionardo,elementoSeleccionado.data("tipo"));
                if(tipoCuentas==0){
                    var tipo=$("#tipoCuentac").prop("checked");
                    var retencion=0;
                    var ajuste=$("#ajusteSelect option:selected").val();
                    if(!$("#ajuste").prop("checked")){
                        ajuste=0;
                    }
                    if(tipo){
                          if($("input[name=retencion]").val().length ==0){
                              alert("Asigne el porcentaje de retencion");
                              return;
                          };
                     retencion=$("input[name=retencion]").val();     
                    } 
                    var idpadre=$("#idPadre").val();
                    var ispadre=$("span[data-id='c"+parseInt(idpadre)+"']").parent().find("li").length;
                    ispadre=ispadre==0?0:1;
                    if( $("#GuardarModificar").val()=="Guardar"){
                        $.post("../CON_CUENTA_CONTABLE_CONTROLLER",{proceso:"GuardarNuevo",ispadre:ispadre,ajuste:ajuste,tipo:(tipo?1:0),retencion:retencion,idPadre:idpadre,descripcion:desc
                        ,codigo:codigo,moneda:$("select[name=moneda] option:selected").val()},function(responsetext){
                          if(responsetext.length>0){
                                ListaCuentaContable["c"+parseInt(responsetext)]={
                                    CODIGO:codigo,
                                    MONEDA:$("select[name=moneda] option:selected").val(),
                                    DESCRIPCION:desc,
                                    NIVEL:$("#idPadre").val(),
                                    id:parseInt(responsetext) ,
                                    idnivel:(parseInt(item.idnivel)+1),
                                    tipo:"cuenta"
                                };
                                var versionCuenta=parseInt(localStorage['versionCuenta']);
                                localStorage["CuentaContable"] = JSON.stringify(ListaCuentaContable);
                                localStorage['versionCuenta']=versionCuenta++;
                                elementoSeleccionado.parent().find("ul").remove();
                                var ul=cargarsubmenu(idSeleccionardo,elementoSeleccionado.data("tipo"));
                                elementoSeleccionado.after(ul);
                          }else{
                              alert("No logro insertar");
                          }
                          cancelPopUp();
                       });
                    }else{
                        codigo = $("input[name=codigo]").val();
                        $.post("../CON_CUENTA_CONTABLE_CONTROLLER",{proceso:"ModificarCuenta",ispadre:ispadre,ajuste:ajuste,tipo:(tipo?1:0),retencion:retencion,idPadre:$("#idPadre").val(),descripcion:desc
                         ,moneda:$("select[name=moneda] option:selected").val()},function(responsetext){
                             if(responsetext=="T"){
                               ListaCuentaContable["c"+parseInt(responsetext)]={
                                     CODIGO:codigo,
                                     MONEDA:$("select[name=moneda] option:selected").val(),
                                     DESCRIPCION:desc
                                };
                              var versionCuenta=parseInt(localStorage['versionCuenta']);
                              localStorage["CuentaContable"] = JSON.stringify(ListaCuentaContable);
                              localStorage['versionCuenta']=versionCuenta++;
                              elementoSeleccionado.parent().parent().remove();
                              var ul=cargarsubmenu(item.NIVEL,"cuenta");
                              if(item.NIVEL=="null"){
                                   $("div.contenidoTab:eq("+tipoCuentas+")").html(ul);                           
                              }else{
                                  $("span[data-id="+item.NIVEL+"]").parent().append(ul);
                              }
                              alert("La cuenta fue modificada");
                             }else{
                                 alert("La cuenta no se pudo modificada");
                             }
                             cancelPopUp();
                        });
                    }
                }else{
                    var nacional = [];
                    var sucursalT = [];
                    var total = 0;
                    var tipoCuenta = $("#tipoCuenta option:selected").text();
                    if(tipoCuenta== "Nacional"){                   
                           $("#nacionalLista input").each(function(){
                                 var valor = $(this).val(); 
                                 var idnacional = $(this).data("idnacional");
                                 valor=valor==""?0:valor;
                                 total+=parseFloat(valor);
                                 nacional.push({
                                     id:idnacional,valor:valor
                                 });
                           });
                           if(total>100 || total<100){
                               alert("La nacional no da 100 recalcule");
                               return;
                           }
                    }
                    if(tipoCuenta== "Todas las Sucursal"){                   
                           $("#sucursalCLista input").each(function(){
                                 var valor = $(this).val(); 
                                 var sucursal = $(this).data("id");
                                 valor=valor==""?0:valor;
                                 total+=parseFloat(valor);
                                 sucursalT.push({
                                     id:sucursal,valor:valor
                                 });
                           });
                           if(total>100 || total<100){
                               alert("La nacional no da 100 recalcule");
                               return;
                           }
                   }
                   var item=buscarCuenta(idSeleccionardo,elementoSeleccionado.data("tipo"));
                   if( $("#GuardarModificar").val()=="Guardar"){
                           $.post(url,{proceso:"GuardarNuevoCC",todaSucursal :sucursalT,sucursalLeng :sucursalT.length,idPadre:$("#idPadre").val(),descripcion:desc
                           ,codigo:codigo,tipo:item.tipo,tipoCuenta:tipoCuenta
                           ,region:$("select[name=regional] option:selected").val(),sucursal :$("select[name=sucursal] option:selected").val()
                           ,departamental:$("select[name=departamental] option:selected").val(),
                           nacional:nacional, leng:nacional.length
                       },function(responsetext){
                            if(responsetext.length>0){
                                var itm=buscarCentro($("#idPadre").val());
                                var nivel;
                                var idcuenta;
                                var tip=$("#tipoCuenta option:selected").val();
                                var tip2="";
                                switch(tip){
                                    case "1":
                                        tip2="ccnormal";
                                        break;
                                    case "2":
                                        tip2="ccrnacional";
                                        break;
                                    case "3":
                                        tip2="ccregional";
                                        break;
                                    case "4":
                                        tip2="ccdepto";
                                        break;
                                    case "5":
                                        tip2="ccsucursal";
                                        break;
                                }
                                if(item == null){                                    
                                    nivel=itm.id;
                                    idcuenta=itm.IDCUENTA;
                                }
                                else{
                                    nivel="null";
                                    idcuenta=$("#idPadre").val();
                                }
                                ListaCentroCosto["cc"+parseInt(responsetext)]={
                                        CODIGO:codigo,
                                        DESCRIPCION:desc,
                                        NIVEL:nivel,
                                        id:parseInt(responsetext),
                                        IDCUENTA:parseInt(idcuenta),
                                        tipo:tip2
                                    };
                                    var versionCentrocosto=parseInt(localStorage['versionCC']);
                                    localStorage["CentroCosto"] = JSON.stringify(ListaCentroCosto);
                                    localStorage['versionCC']=versionCentrocosto++;
                                    elementoSeleccionado.click();
                              }else{
                                  alert("No se logro guardar");
                              }
                              cancelPopUp();
                        });
                   }else{
                        codigo = $("input[name=codigo]").val();
                       $.post(url,{proceso:"modificarCC",todaSucursal :sucursalT,sucursalLeng :sucursalT.length,idPadre:$("#idPadre").val(),descripcion:desc
                           ,codigo:$("input[name=codigo]").val(),tipo:item.tipo ,tipoCuenta:tipoCuenta
                           ,region:$("select[name=regional] option:selected").val(),sucursal :$("select[name=sucursal] option:selected").val()
                           ,departamental:$("select[name=departamental] option:selected").val(),
                           nacional:nacional, leng:nacional.length
                       },function(responsetext){
                            if(responsetext=="true"){
                                $.each(ListaCentroCosto,function(i,item){
                                    if(idSeleccionardo==item.id){
                                        item.CODIGO=codigo;
                                        item.DESCRIPCION=desc;
                                    }  
                                });
                                var versionCentrocosto=parseInt(localStorage['versionCC']);
                                localStorage["CentroCosto"] = JSON.stringify(ListaCentroCosto);
                                localStorage['versionCC']=versionCentrocosto++;
                               elementoSeleccionado.parent().parent().prev().click();
                               alert("El Centro de Costo fue modificada");
                            }else{
                               alert("El Centro de Costo no se pudo modificada");
                           }
                           cancelPopUp();
                        });
                   }
                }
                
            }
         function addNuevo(idPadre){
            var item=buscarCuenta(idPadre,elementoSeleccionado.data("tipo"));
            $("#popUpbackGround").css("display","block");
            $("#popUpContent").css("display","block");
            $("#idPadre").val(idPadre);
            
            var codigo=buscarCuenta(idPadre,elementoSeleccionado.data("tipo")).CODIGO;
            $("input[name=codigopadre]").val(codigo);
            $("input[name=codigopadre]").css("display","inline-block");
            var html="";
            if(item.tipo=="cuenta" || item.tipo=="ccnormal"){
                html='<option value="1">Normal</option>'+
                      '<option value="4">Departamenal</option>'+
                      '<option value="3">Regional</option>'+
                      '<option value="2">Nacional</option>';
            }
             if(item.tipo=="ccdepto"){
                html='<option value="3">Regional</option>'+
                      '<option value="2">Nacional</option>';
            }
            if(item.tipo=="ccregional"){
                html='<option value="5">Sucursal</option>'+
                        '<option value="6">Todas las Sucursal</option>';
               $.post(url,{proceso:"sucursalesOption",IdRegional: idPadre},function(responsetext){
                    if(responsetext == ""){
                        alert("Inserte sucursales a la Regional");
                        $("#popUpbackGround").css("display","none");
                        $("#popUpContent").css("display","none");
                    }else{
                        $("select[name=sucursal]").html(responsetext);
                    }
               });  
               $.post(url,{proceso:"sucursalesInput",IdRegional: idPadre},function(responsetext){
                   if(responsetext == ""){
                        alert("Inserte sucursales a la Regional");
                        $("#popUpbackGround").css("display","none");
                        $("#popUpContent").css("display","none");
                    }else{
                        $("#sucursalCLista").html(responsetext);
                    }
               });  
            }
            if(item.tipo=="ccrnacional"){
                html='<option value="3">Regional</option>';
            }
            if(item.tipo=="ccsucursal"){
                $("#popUpbackGround").css("display","none");
                $("#popUpContent").css("display","none");
                alert("A la sucursal no se le puede crear otro nivel");
                return;
            }
            $("#tipoCuenta").html(html);
        }
         function cancelPopUp(){
            limpiarPopUp();
            $("#popUpbackGround").css("display","none");
            $("#popUpContent").css("display","none");
        }
         $("#contenedorRetenciones").draggable();
        function cambioRetencion(action){
            if(action==1){
                
            }else{
                
            }
             $("#contenedorRetenciones").css("display","none");
        }
       
        $("#tipoCuentac").change(function(){
            var tipo=$(this).prop("checked");
           if(tipo){
               $("input[name=retencion]").css("display","block");
               $("span[name=retencionPorcentaje]").css("display","block");
           } else{
               $("input[name=retencion]").css("display","none");
               $("span[name=retencionPorcentaje]").css("display","none");
           }
        });
        $("#ajuste").change(function(){
            var tipo=$(this).prop("checked");
           if(tipo){
               $("#ajusteSelect").css("display","block");
           } else{
               $("#ajusteSelect").css("display","none");
               $("#ajusteSelect option:eq(0)").select();
           }
           
        });
        function modificarC(id)
        {
            
            $.post("../CON_CUENTA_CONTABLE_CONTROLLER",{proceso:"buscarCuenta", id:id},function(responsetext){
                var jsonObj = jQuery.parseJSON( responsetext );
                $("#GuardarModificar").val("Modificar");
                $("#idPadre").val(id);
                $("input[name=descripcion]").val(jsonObj.descripcion);
                $("input[name=codigo]").val(jsonObj.codigo);
                $("input[name=codigo]").attr("disabled", "disabled"); 
                $("input[name=codigo]").removeClass("pequeño"); 
                $("input[name=codigo]").addClass("mediano"); 
                $("select[name=moneda] option").each(function(){
                    if(jsonObj.moneda==$(this).val()){
                        $(this).attr("selected",true);
                    }
                });
                 if(jsonObj.mrenta != 0){
                     $("#tipoCuentac").attr('checked', true);
                 }
                 if(jsonObj.ajuste != 0){
                     $("#ajuste").attr('checked', true);
                 }
                 $("input[name=retencion]").val(jsonObj.mrenta);
                 $("#ajusteSelect option").each(function(){
                    if(jsonObj.ajuste==$(this).val()){
                        $(this).attr("selected",true);
                    }
                });
                 $("#popUpbackGround").css("display","block");
                 $("#popUpContent").css("display","block");
                  $("input[name=codigopadre]").css("display","none");
            });
        }
        function modificarCC(id)
        {
            $.post("../CON_CUENTA_CONTABLE_CONTROLLER",{proceso:"buscarCC", id:id},function(responsetext){
                var jsonObj = jQuery.parseJSON( responsetext );
                $("input[name=codigo]").val(jsonObj.codigo);
                $("input[name=codigo]").attr("disabled", "disabled"); 
                $("#GuardarModificar").val("Modificar");
                $("input[name=codigo]").removeClass("pequeño"); 
                $("input[name=codigo]").addClass("mediano");
                $("input[name=codigopadre]").css("display","none");
                $("input[name=codigopadre]").val("");
                $("input[name=descripcion]").val(jsonObj.descripcion);
                $("#tipoCuenta").attr("disabled", "disabled"); 
                addNuevo(id);
                 var cuenta=0;
                if(jsonObj.cc.length>0){
                   if(jsonObj.cc[0].regional>0){
                       cuenta=3;
                       $("select[name=regional] option").each(function(){
                             if(jsonObj.cc[0].regional==$(this).val()){
                                 $(this).attr("selected",true);
                             }
                         });
                       if(jsonObj.cc.length>1){
                           cuenta=2;

                       }
                   }
                   if(jsonObj.cc[0].dpto>0){
                       cuenta=4;
                         $("select[name=departamental] option").each(function(){
                             if(jsonObj.cc[0].dpto==$(this).val()){
                                 $(this).attr("selected",true);
                             }
                         });
                   }
                   if(jsonObj.cc[0].sucursal>0){
                       cuenta=5;
                       $("select[name=sucursal] option").each(function(){
                             if(jsonObj.cc[0].sucursal==$(this).val()){
                                 $(this).attr("selected",true);
                             }
                         });
                       if(jsonObj.cc.length>1){
                           cuenta=6;

                       }
                   }

                 if(jsonObj.cc.length==0){
                     cuenta=1;
                 }
                 $("#tipoCuenta option").each(function(){
                   if(cuenta==$(this).val()){
                       $(this).attr("selected",true);
                   }
               });
               cambioCentrocosto();
               if(cuenta==2)
                   var count=0;
               $("#nacionalLista input").each(function(){
                   $(this).val(jsonObj.cc[count].pregional);
                   count++;
                });
                if(cuenta==6)
                $("#sucursalCLista input").each(function(){
                       $(this).val(jsonObj.cc[count].psucursal);
                       count++;
                });
             }
                 $("#popUpbackGround").css("display","block");
                 $("#popUpContent").css("display","block");
                  $("input[name=codigopadre]").css("display","none");
           });
        }
    </script>
    </body>
</html>
